home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #1 / Ham Radio 2000.iso / ham2000 / tcp_ip / ka9q / expiry / zaplocks.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-05-15  |  1.1 KB  |  58 lines

  1. /* Delete all .LCK files in all directories */
  2.  
  3. /* Written by Bernie Roehl, May 1990 */
  4.  
  5. /* Works with the NNTPCLI by Anders Klemets and Bernie Roehl */
  6.  
  7. #include <stdio.h>
  8. #include <dir.h>
  9. #include <dos.h>
  10.  
  11. char *progname = "ZAPLOCKS";
  12.  
  13. int verbose = 0;
  14.  
  15. void main(argc, argv)
  16. int argc;
  17. char *argv[];
  18.     {
  19.     FILE *hist;
  20.     void walk_dirs();
  21.     char buff[100];
  22.     if (argc > 1)
  23.         if (!strcmp(argv[1], "-v")) {
  24.             verbose = 1;
  25.             ++argv;
  26.             --argc;
  27.             }
  28.     if (argc != 2) {
  29.         printf("%s: Correct usage is 'zaplocks spooldir'\n", progname);
  30.         exit(2);
  31.         }
  32.     walk_dirs(argv[1]);
  33.     exit(0);
  34.     }
  35.  
  36. void walk_dirs(char *dir)
  37.     {
  38.     char work[100];
  39.     struct ffblk ff;
  40.  
  41.     sprintf(work, "%s/*.lck", dir);
  42.     if (findfirst(work, &ff, 0) == 0)
  43.         do {
  44.             sprintf(work, "%s/%s", dir, ff.ff_name);
  45.             if (verbose) printf("%s: deleting '%s'\n", progname, work);
  46.             unlink(work);
  47.             } while (findnext(&ff) == 0);
  48.  
  49.     sprintf(work, "%s/*.*", dir);
  50.     if (findfirst(work, &ff, FA_DIREC) == 0)
  51.         do {
  52.             if (ff.ff_name[0] != '.') {
  53.                 sprintf(work, "%s/%s", dir, ff.ff_name);
  54.                 walk_dirs(work);
  55.                 }
  56.             } while(findnext(&ff) == 0);
  57.     }
  58.